Smart Power Sockets, Boards, and Plugs

ABSTRACT

An approach is provided where a smart socket receives a request over a power line and generates a request based on the received request. The second request is transmitted over a power cord connecting the smart power socket to a device. A response is received from the device and a power setting is identified therefrom. The smart socket regulates electrical current flowing from the smart power socket to the device using the identified setting. In a related approach, the device receives a power down request over a power cord from a smart power socket. The device determines whether power is still needed at the device in order to perform one or more device operations. The device then returns a response to the smart power socket, with the response indicating whether power is still needed at the device.

TECHNICAL FIELD

The present invention relates to power sockets, power boards, and powerswitches that use enhanced communication over power lines to efficientlypower electronic devices.

BACKGROUND OF THE INVENTION

Traditional power systems, such as found in homes and offices, wasteconsiderable power when devices are powered on in standby mode.Traditionally, this power waste occurs when it is difficult orinconvenient to access a device's power switch. Additionally, thisoccurs when devices share a common power board, or power strip, with thepower strip being left in a powered state because one device needsconstant power even though other devices plugged into the power strip nolonger require power. Traditional solutions, such as those using X10technology, are challenged because these traditional solutions areunaware of individual device power needs and either introduce additionalpower-needing devices or require central-system control for operation.

SUMMARY

An approach is provided where a smart power socket receives a powerrequest over a power line and generates a second power request based onthe received power request. The second power request is transmitted overa power cord that connects the smart power socket to a device. A powerresponse is then received from the device and a power setting isidentified based on the received power response. The identification isperformed by a processor included in the smart power socket. The smartpower socket then regulates electrical current flowing from the smartpower socket to the device using the identified power setting.

In a related corresponding approach, the device receives a power downrequest over a power line, with the power down request being sent from asmart power socket. The device determines whether power is still neededat the device in order to perform one or more device operations. Thedevice then returns a response to the smart power socket, with theresponse indicating whether power is still needed at the device.

The foregoing is a summary and thus contains, by necessity,simplifications, generalizations, and omissions of detail; consequently,those skilled in the art will appreciate that the summary isillustrative only and is not intended to be in any way limiting. Otheraspects, inventive features, and advantages of the present invention, asdefined solely by the claims, will become apparent in the non-limitingdetailed description set forth below.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood, and its numerousobjects, features, and advantages made apparent to those skilled in theart by referencing the accompanying drawings, wherein:

FIG. 1 is a block diagram of a data processing system in which themethods described herein can be implemented;

FIG. 2 provides an extension of the information handling systemenvironment shown in FIG. 1 to illustrate that the methods describedherein can be performed on a wide variety of information handlingsystems which operate in a networked environment;

FIG. 3 is a diagram showing an office layout utilizing the smart powercomponents described herein;

FIG. 4 is a diagram showing hierarchy between a smart switch, a smartpower strip, smart power sockets, and power-consuming devices;

FIG. 5 is a flowchart showing steps taken by the smart switch and thesmart power sockets;

FIG. 6 is a flowchart showing steps taken by power-consuming devicesthat are aware of the smart power socket technology;

FIG. 7 is a flowchart showing steps taken by a device to manage a powerdown request;

FIG. 8 is a flowchart showing steps taken device timer process, thesmart power socket, and the smart switch to schedule power needs;

FIG. 9 is a flowchart showing steps taken to manage future power events;and

FIG. 10 is a flowchart showing steps used to configure smart powersockets, smart power strips, and devices.

DETAILED DESCRIPTION

Certain specific details are set forth in the following description andfigures to provide a thorough understanding of various embodiments ofthe invention. Certain well-known details often associated withcomputing and software technology are not set forth in the followingdisclosure, however, to avoid unnecessarily obscuring the variousembodiments of the invention. Further, those of ordinary skill in therelevant art will understand that they can practice other embodiments ofthe invention without one or more of the details described below.Finally, while various methods are described with reference to steps andsequences in the following disclosure, the description as such is forproviding a clear implementation of embodiments of the invention, andthe steps and sequences of steps should not be taken as required topractice this invention. Instead, the following is intended to provide adetailed description of an example of the invention and should not betaken to be limiting of the invention itself. Rather, any number ofvariations may fall within the scope of the invention, which is definedby the claims that follow the description.

The following detailed description will generally follow the summary ofthe invention, as set forth above, further explaining and expanding thedefinitions of the various aspects and embodiments of the invention asnecessary. To this end, this detailed description first sets forth acomputing environment in FIG. 1 that is suitable to implement thesoftware and/or hardware techniques associated with the invention. Anetworked environment is illustrated in FIG. 2 as an extension of thebasic computing environment, to emphasize that modern computingtechniques can be performed across multiple discrete devices.

FIG. 1 illustrates information handling system 100, which is asimplified example of a computer system capable of performing thecomputing operations described herein. Information handling system 100includes one or more processors 110 coupled to processor interface bus112. Processor interface bus 112 connects processors 110 to Northbridge115, which is also known as the Memory Controller Hub (MCH). Northbridge115 connects to system memory 120 and provides a means for processor(s)110 to access the system memory. Graphics controller 125 also connectsto Northbridge 115. In one embodiment, PCI Express bus 118 connectsNorthbridge 115 to graphics controller 125. Graphics controller 125connects to display device 130, such as a computer monitor.

Northbridge 115 and Southbridge 135 connect to each other using bus 119.In one embodiment, the bus is a Direct Media Interface (DMI) bus thattransfers data at high speeds in each direction between Northbridge 115and Southbridge 135. In another embodiment, a Peripheral ComponentInterconnect (PCI) bus connects the Northbridge and the Southbridge.Southbridge 135, also known as the I/O Controller Hub (ICH) is a chipthat generally implements capabilities that operate at slower speedsthan the capabilities provided by the Northbridge. Southbridge 135typically provides various busses used to connect various components.These busses include, for example, PCI and PCI Express busses, an ISAbus, a System Management Bus (SMBus or SMB), and/or a Low Pin Count(LPC) bus. The LPC bus often connects low-bandwidth devices, such asboot ROM 196 and “legacy” I/O devices (using a “super I/O” chip). The“legacy” I/O devices (198) can include, for example, serial and parallelports, keyboard, mouse, and/or a floppy disk controller. The LPC busalso connects Southbridge 135 to Trusted Platform Module (TPM) 195.Other components often included in Southbridge 135 include a DirectMemory Access (DMA) controller, a Programmable Interrupt Controller(PIC), and a storage device controller, which connects Southbridge 135to nonvolatile storage device 185, such as a hard disk drive, using bus184.

ExpressCard 155 is a slot that connects hot-pluggable devices to theinformation handling system. ExpressCard 155 supports both PCI Expressand USB connectivity as it connects to Southbridge 135 using both theUniversal Serial Bus (USB) the PCI Express bus. Southbridge 135 includesUSB Controller 140 that provides USB connectivity to devices thatconnect to the USB. These devices include webcam (camera) 150, infrared(IR) receiver 148, keyboard and trackpad 144, and Bluetooth device 146,which provides for wireless personal area networks (PANs). USBController 140 also provides USB connectivity to other miscellaneous USBconnected devices 142, such as a mouse, removable nonvolatile storagedevice 145, modems, network cards, ISDN connectors, fax, printers, USBhubs, and many other types of USB connected devices. While removablenonvolatile storage device 145 is shown as a USB-connected device,removable nonvolatile storage device 145 could be connected using adifferent interface, such as a Firewire interface, etcetera.

Wireless Local Area Network (LAN) device 175 connects to Southbridge 135via the PCI or PCI Express bus 172. LAN device 175 typically implementsone of the IEEE 802.11 standards of over-the-air modulation techniquesthat all use the same protocol to wireless communicate betweeninformation handling system 100 and another computer system or device.Optical storage device 190 connects to Southbridge 135 using Serial ATA(SATA) bus 188. Serial ATA adapters and devices communicate over ahigh-speed serial link. The Serial ATA bus also connects Southbridge 135to other forms of storage devices, such as hard disk drives. Audiocircuitry 160, such as a sound card, connects to Southbridge 135 via bus158. Audio circuitry 160 also provides functionality such as audioline-in and optical digital audio in port 162, optical digital outputand headphone jack 164, internal speakers 166, and internal microphone168. Ethernet controller 170 connects to Southbridge 135 using a bus,such as the PCI or PCI Express bus. Ethernet controller 170 connectsinformation handling system 100 to a computer network, such as a LocalArea Network (LAN), the Internet, and other public and private computernetworks.

While FIG. 1 shows one information handling system, an informationhandling system may take many forms. For example, an informationhandling system may take the form of a desktop, server, portable,laptop, notebook, or other form factor computer or data processingsystem. In addition, an information handling system may take other formfactors such as a personal digital assistant (PDA), a gaming device, ATMmachine, a portable telephone device, a communication device or otherdevices that include a processor and memory.

The Trusted Platform Module (TPM 195) shown in FIG. 1 and describedherein to provide security functions is but one example of a hardwaresecurity module (HSM). Therefore, the TPM described and claimed hereinincludes any type of HSM including, but not limited to, hardwaresecurity devices that conform to the Trusted Computing Groups (TCG)standard, and entitled “Trusted Platform Module (TPM) SpecificationVersion 1.2.” The TPM is a hardware security subsystem that may beincorporated into any number of information handling systems, such asthose outlined in FIG. 2.

FIG. 2 provides an extension of the information handling systemenvironment shown in FIG. 1 to illustrate that the methods describedherein can be performed on a wide variety of information handlingsystems that operate in a networked environment. Types of informationhandling systems range from small handheld devices, such as handheldcomputer/mobile telephone 210 to large mainframe systems, such asmainframe computer 270. Examples of handheld computer 210 includepersonal digital assistants (PDAs), personal entertainment devices, suchas MP3 players, portable televisions, and compact disc players. Otherexamples of information handling systems include pen, or tablet,computer 220, laptop, or notebook, computer 230, workstation 240,personal computer system 250, and server 260. Other types of informationhandling systems that are not individually shown in FIG. 2 arerepresented by information handling system 280. As shown, the variousinformation handling systems can be networked together using computernetwork 200. Types of computer network that can be used to interconnectthe various information handling systems include Local Area Networks(LANs), Wireless Local Area Networks (WLANs), the Internet, the PublicSwitched Telephone Network (PSTN), other wireless networks, and anyother network topology that can be used to interconnect the informationhandling systems. Many of the information handling systems includenonvolatile data stores, such as hard drives and/or nonvolatile memory.Some of the information handling systems shown in FIG. 2 depictsseparate nonvolatile data stores (server 260 utilizes nonvolatile datastore 265, mainframe computer 270 utilizes nonvolatile data store 275,and information handling system 280 utilizes nonvolatile data store285). The nonvolatile data store can be a component that is external tothe various information handling systems or can be internal to one ofthe information handling systems. In addition, removable nonvolatilestorage device 145 can be shared among two or more information handlingsystems using various techniques, such as connecting the removablenonvolatile storage device 145 to a USB port or other connector of theinformation handling systems.

FIG. 3 is a diagram showing an office layout utilizing the smart powercomponents described herein. Three rooms are shown in the example officediagram—offices 300 and 301, and lobby 302. Three smart power switchesare also shown—smart power switches 305 and 306 in offices 300 and 301,respectively, and smart power switch 307 in lobby 302. A number of smartpower sockets 310. As will be explained in greater detail herein, smartpower sockets 310 (in office 300) and 315 (in office 301) areconfigurable and work with the smart power switches to intelligentlyprovide power to both smart and legacy devices. In one embodiment, anumber of smart power sockets are grouped together into smart powerstrip 362 in order to provide electrical power. The smart power stripcan be plugged into either a standard wall socket or into a smart powersocket. In addition, smart power sockets can either be integrated intothe wall cavity and hard-wired to power lines or can be a separatedevice that plugs into a standard wall socket.

Offices 300 and 301 include desktop computer systems 320 and 325,respectively. While devices such as desktop computer systemstraditionally use a trickle amount of power even when the system hasbeen shut down, using the techniques described herein, the power tothese types of devices can be switched off when the system is not inuse. Offices 300 and 301 also include copiers 330 and 335, respectively,fax machines 340 and 345, respectively, telephone 350 and 355,respectively, desk light 360 and 365, respectively, ceiling fans 370 and375, respectively, device chargers (e.g., for cell phone charging, etc.)380 and 385, respectively, and table lamps 390 and 395 respectively.

Using smart power sockets, the devices that traditionally usetrickle-amounts of power can have power to the devices completely, andeasily, switched off, while those devices that need to continue usingpower, such as desktop telephones 350 and 355, can remain in standbymode and continue receiving power in order to perform needed operationseven when the office is unoccupied (e.g., telephone still rings androutes calls and/or records messages, etc.).

FIG. 4 is a diagram showing hierarchy between a smart switch, a smartpower strip, smart power sockets, and power-consuming devices. Smartswitch 400 (such as switches 305, 306, and 307 shown in FIG. 3) sendrequests through the standard power lines running from the switches tothe sockets. In one embodiment, the power requests include a change mode(e.g., OFF, ON, etc.) and one or more area identifiers to which therequest is directed. For example, sockets 310 in office 300 that powersdesk lamp 360 and table lamp 390 can each be configured to have areaidentifiers that establish that the smart power socket is in office 300as well as an area identifier that establishes that the smart powersocket is providing power to a light. Likewise, sockets 310 in office301 that powers desk lamp 365 and table lamp 395 can each be configuredto have area identifiers that establish that the smart power socket isin office 301 as well as an area identifier that establishes that thesmart power socket is providing power to a light. The area identifiertransmitted by smart power switch 400 can identify one or more smartpower sockets. For example, if the change mode is to turn the device OFFand the area identifiers are for LIGHT and OFFICE 300, then each of thelights in office 300 would be powered off. If master smart power switch(or in some embodiments, either switch 305 or 306), sends a request outto change the mode to OFF with an area identifier of LIGHT, then all ofthe lights in each of the offices would be turned off. Smart devices,such as the computers and other electronics, can override the request asexplained in more detail below. For example, if computer 320 receives arequest to turn OFF, but the computer system is currently running acritical backup operation, then the computer system can respond with aSTANDBY request so that the smart power socket continues providing poweruntil the operation is completed and the computer sends an OFF requestto the smart power socket indicating that power to the computer systemcan be switched OFF.

As shown, smart power strip 410 includes multiple smart power sockets(420 and 430), while stand alone smart power socket 450 is directlyconnected to electrical power. The smart power sockets (420, 430, and450) send requests to the devices to which they are connected (devices425, 435, and 455, respectively). The devices respond to their smartpower sockets with a power response indicating whether, for example, thedevice can be powered OFF or if power is still needed at the device. Inaddition, devices that are powered OFF can inform their respective smartpower socket of future wakeup times so that the device is powered ON ata future time. For example, fax machines 340 and 345 shown in FIG. 3 mayneed to be turned back on in the morning in order to start receivingcustomer faxes even before the occupants of the offices arrive. In oneembodiment, the timer functions are handled by the smart power sockets,while in another embodiment the timer functions (requests) aretransmitted back to the smart power switch with the smart power switchhandling the timer functions.

FIG. 5 is a flowchart showing steps taken by the smart switch and thesmart power sockets. Smart power switch processing is shown commencingat 500 while smart power socket processing is shown commencing at 510.Turning to smart power switch processing, at step 502 a power request isreceived at the smart power switch. A request could be to turn OFF,POWER_DOWN, turn ON, etc. At step 504, one or more area identifiers areretrieved corresponding to the request. Area identifiers can be for aparticular smart power socket or smart power strip (e.g., the smartpower socket that light 365 is plugged into in office 301 shown in FIG.3). An area identifier could be for a particular logical or geographicarea (e.g., OFFICE 300 in FIG. 3, all LIGHTS (360, 365, 390, 395 in FIG.3, etc.). Multiple areas can be identified (e.g., everything in OFFICE300 and ALL LIGHTS regardless of what room the light is in, etc.). Atstep 506, a request is sent through the electrical wiring using a powerline carrier control signal. Similar to the technique used in X10systems, digital data that forms the power request (requested actionand, in some embodiments the area identifier) is transmitted as burstsduring the relatively quiet zero crossings of the alternating currentwaveform. In this manner, standard electrical wiring (which is the samewiring used to power traditional devices such as lamps and appliances)is used to send the digital data. In one embodiment, one bit of data istransmitted at each zero crossing.

Smart power socket processing commences at 510 whereupon, at step 512,each of the smart power sockets receives the power request from thesmart switch with, in one embodiment, the power request including therequested action along with the area identifier. A decision is made byeach smart power socket as to whether the request applies to thisparticular smart power socket (decision 514). Smart power socket areconfigured, as shown in FIG. 10 with one or more area identifiers aswell as, in one embodiment, a unique identifier. If the request does notapply to this particular smart power socket, then decision 514 branchesto the “no” branch and, at step 516 this smart power socket ignores therequest. For example, if the request was directed at devices in OFFICE300 in FIG. 3, but this smart power socket is located in OFFICE 301,then the request would not apply to the smart power socket. However, ifthe smart power socket is in OFFICE 300, then the request does apply tothis smart power socket and decision 514 branches to the “yes” branchfor further process.

If the receiving device is actually a smart power strip then, at step518, the first smart power socket within smart power strip is selected.At step 520, the request is sent to device 525 (e.g., a lamp, a computersystem, etc.) being powered by the smart power socket. At step 528, thesmart power socket waits for a preset amount of time for a response fromthe device. Smart devices designed and built with understanding of thesmart power socket protocol will return a response, however legacydevices (e.g., old fashioned lamps, etc.) will not recognize the requestand, consequently will not return a response. A decision is made as towhether a response was received within the time period (decision 530).If a response was not received, then decision 530 branches to the “no”branch whereupon, at step 532, the request is handled per pre-programmedsettings for the device. For example, if the legacy device is a lamp,then the pre-programmed response (programmed into the smart powersocket) could be to turn the lamp on/off as per the request. However, ifthe legacy device is a traditional telephone/answering machine, then thepre-programmed response could be to ignore the response or keep thedevice in STANDBY mode so that the device continues receiving power sothat it can continue to operate (e.g., answer calls while the user isaway). In addition, the smart power socket can be pre-programmed torecognize that a legacy device is plugged into the socket which wouldinhibit the socket from sending the request to the device in the firstplace. The switching of power on/off is performed at step 536.

Returning to decision 530, if a response is received from the device(indicating a non-legacy, or “smart” device), then decision 530 branchesto the “yes” branch whereupon a decision is made as to whether thedevice responded with a STANDBY request, indicating that the devicecontinues the need for electrical power (decision 534). If the devicedid not respond with a STANDBY request, then decision 534 branches tothe “no” branch whereupon, at step 536, the smart power socket changesthe power regulation to the device as indicated in the request (e.g.,turns the power OFF to the device, etc.). On the other hand, if aSTANDBY request was received from the device, then decision 534 branchesto the “yes” branch bypassing step 536 and the smart power socketcontinues providing electrical power to the device.

A decision is made as to whether this smart power socket is actually asmart power strip with more smart power sockets to check (decision 538).If this is a smart power strip, then decision 538 branches to the “yes”branch which loops back to select and process the next smart powersocket in the smart power strip as described above. Those skilled in theart will appreciate that steps 520 through 536 can be performed inparallel for each of the smart power sockets included in the smart powerstrip. If the smart power socket is a simple smart power socket and nota smart power strip, or if all of the smart power sockets included inthe smart power strip have been processed, then decision 538 branches tothe “no” branch whereupon, at step 540, return status of the devices (orsmart power sockets) is returned to the smart power switch. As part oftheir response, a device may indicate a future power need so that thesmart power socket will return power to the device at a future time.

These future power events are processed by predefined process 542 (seeFIG. 9 and corresponding text for processing details).

Returning to smart power switch processing, at step 550 the smart powerswitch receives status from smart power switches and smart power strips.In some embodiments, the smart power switch handles future power eventsto provide power to devices at a future time. In these embodiments,predefined process 552 is performed by the smart power switch ratherthan the smart power socket or smart power strip (see FIG. 9 andcorresponding text for processing details). A decision is made as towhether the smart power socket or smart power strip is directlyconnected to the smart power switch (decision 554). If the smart powerswitch controls power to the smart power socket or smart power stripthen decision 554 branches to the “yes” branch whereupon a decision ismade as to whether to switch power to this smart power socket or smartpower strip OFF (decision 556) based on the response(s) received fromthe smart power socket or smart power strip. If the smart power socketor smart power strip should be powered OFF, then decision 556 branchesto the “yes” branch whereupon, at step 558 power to the smart powersocket or smart power strip is switched OFF. On the other hand, if thesmart power socket or smart power strip should not be turned OFF, thendecision 556 branches to the “no” branch bypassing step 558. Returningto decision 554, if the smart power switch does not control powerdirectly to the smart power socket or smart power strip, then decision554 branches to the “no” branch bypassing both decision 556 and step558. Smart power switch processing then ends at 595.

FIG. 6 is a flowchart showing steps taken by power-consuming devicesthat are aware of the smart power socket technology. Processingcommences at 600 whereupon, at step 605 a request is received (e.g.,from a smart power socket or a smart power socket within a smart powerstrip that provides power to this device). A decision is made as towhether the request is to power ON the device (decision 610). Somedevices can run in a very low power setting and can be configured toreceive an ON request that causes the device to full power mode. Forexample, similar to a “wake-on-LAN” request, a computer system can be ina sleep mode and receive an ON request from the smart power socketcausing the computer system to wake up (e.g., boot, etc.). If therequest is to turn the device ON, then decision 610 branches to the“yes” branch whereupon, at step 615, the device is powered ON and aresponse is returned to the smart power socket indicating that thedevice has complied with the power ON request. The device operates and,at step 620, waits for the next request to be received from the smartpower socket (e.g., a POWER_DOWN request, etc.).

Returning to decision 610, if the request is not an ON request, thendecision 610 branches to the “no” branch whereupon a decision is made asto whether the request is a power OFF request (decision 625). If therequest is a power OFF request, then decision 625 branches to the “yes”branch whereupon, at step 630, a response is transmitted back to thesmart power socket indicating that the device is complying with thedevice (e.g., performing any needed shutdown operations, etc.) and, atstep 635 the device is powered OFF at the device. As shown in FIG. 5,the smart power socket, or in some embodiments, the smart power switch,may also switch power OFF from the socket or switch to the device.

Returning to decision 625, if the request is not a power OFF request,then decision 625 branches to the “no” branch whereupon a decision ismade as to whether the request is some other request (decision 640). Ifthe request is a POWER_DOWN request, then decision 640 branches to“POWER_DOWN” branch whereupon, at predefined process 645 the POWER_DOWNroutine is performed by the device (see FIG. 7 and corresponding textfor processing details). As shown, processing may eventually loop backto step 605 (e.g., when the device is finished with shutdown operationsand sends an OFF request back to the smart power socket, etc.).

Returning to decision 640, if the request is a SET_TIMER request, thendecision 640 branches to “SET_TIMER” branch whereupon, at predefinedprocess 650, the timer control function is performed (see FIG. 8 andcorresponding text for processing details). Again, as shown, processingmay eventually loop back to step 605 for further processing (e.g., witha timed ON or OFF request being returned to the smart power socket,etc.).

FIG. 7 is a flowchart showing steps taken by a device to manage a powerdown request. Processing commences at 700 whereupon, at step 705 thedevice checks its current operation. For example, a digital videorecorder (DVR) may be currently recording a broadcast and, therefore,cannot have power shut off until the recording is finished. A decisionis made as to whether electrical power is still needed by the device(decision 710). If power is still needed by the device, then decision710 branches to the “yes” branch whereupon, at step 715, a STANDBYresponse is returned to smart power socket 720 and, at step 725, thedevice continues performing any needed operations (e.g., the DVRcontinues recording the program until finished, etc.). Returning todecision 710, if power is no longer needed by the device, then decision710 branches to the “no” branch bypassing steps 715 and 725.

At step 730, future wakeup times are checked by reading device time data735. A decision is made as to whether any future wakeup times are foundfor the device (decision 740). Using the DVR example, after the DVR iscompletely powered OFF (smart power socket switches power to the DVROFF), the DVR can inform the smart power socket of a future time (e.g.late night recording of a television program, etc.) that is scheduledfor the device. A decision is made as to whether any future wakeup timeswere found for the device (decision 740). If any were found, thendecision 740 branches to the “yes” branch whereupon, at step 745, thenext time (date/time) when power is needed at the device is returned tothe smart power socket. At 750, processing returns to the callingroutine (see FIG. 5 and corresponding text for processing details) withthe future power time setting. On the other hand, if no future wakeuptimes were found, then decision 740 branches to the “no” branchbypassing step 745 and, at 755, processing returns to the callingroutine (see FIG. 5 and corresponding text for processing details) withan indicator that power to the device can be switched OFF by the smartpower socket.

FIG. 8 is a flowchart showing steps taken device timer process, thesmart power socket, and the smart switch to schedule power needs.Processing performed by the device's timer control is shown commencingat 800 whereupon, at step 805, the device is operating with no pendingrequests (e.g., SHUTDOWN, etc.) from the smart power socket. At step810, the device periodically checks the device time data from memory815. A decision is made as to whether the device should be turned offfor an amount of time (decision 820). For example, a security device,such as a security light, etc. may be set to operate until a given time(e.g., 8:00 AM) and then shut off until a later time (e.g., 8:00 PM). Ifthe device should not be turned off, then decision 820 branches to the“no” branch which loops back to continue operations. However, when atime arrives where the device should be turned off, then decision 820branches to the “yes” branch to perform shutdown operations. At step825, any shutdown operations that the device needs to perform beforepower is switched off are performed and the device checks the next timethat the device should be turned ON (e.g., at 8:00 PM per previousexample, etc.). At step 830, the device sends a POWER_OFF_UNTIL requestto the smart power socket to which the device is connected via astandard electrical cord, and device operations end at 832.

Turning to smart power socket operations, processing commences at 835whereupon, at step 840, the POWER_OFF_UNTIL request is received from thedevice via the power cord through which the smart power socket issupplying the device with power (electricity). At step 845, the smartpower socket switches power to the device OFF. At step 850, the OFFstatus is conveyed via the electrical wiring connecting the smart powersocket to the smart power switch and, if applicable, to the smart powerstrip if the smart power socket is part of a smart power strip. Adecision is made as to whether the device has specified a wakeup time(decision 855). If the device specified a wakeup time, then decision 855branches to the “yes” branch whereupon a decision is made as to whetherthe smart power socket handles future device events or if the smartpower switch handles future device events (decision 860). If the smartpower socket handles future device events (using a timer integrated inthe smart power socket), then decision 860 branches to the “yes” branchwhereupon predefined process 865 is performed to manage the futureevents (see FIG. 9 and corresponding text for processing details). Onthe other hand, if the smart power switch handles future device events,then decision 860 branches to the “no” branch whereupon, at step 870 arequest is sent to the smart power switch over the electrical wiringthat provides power and that connects the smart power socket to thesmart power switch. The request conveys the smart power socketidentifier and the wakeup time needed. Returning to decision 855, if afuture wakeup time was not received from the device, then decision 855branches to the “no” branch bypassing decision 860, predefined process865, and step 870. Smart power socket processing of the device requestends at 875. Note that in one embodiment, a smart power strip thatincludes multiple smart power sockets aggregates the responses receivedfrom the various devices plugged into the various smart power sockets inorder to record the times (e.g., wakeup times, etc.) for each of thedevices plugged into each of the smart power sockets included in thesmart power switch. The aggregated response (e.g., the next time thatthe smart power strip needs to perform an event) is sent to the upstreamhandling device, such as a smart power socket that provides power to thesmart power switch or a smart power switch.

Turning to smart power switch processing, the processing performed bythe smart power switch is shown commencing at 880. If the smart powerswitch is handling future device events then, at step 885, the smartpower switch receives the power scheduling request (e.g., time/day ofwakeup and smart power socket identifier, etc.). At predefined process865, the smart power switch manages the future events (see FIG. 9 andcorresponding text for processing details). At 895, smart power switchprocessing ends.

FIG. 9 is a flowchart showing steps taken to manage future power events.Future events may be managed by a smart power switch or a smart powersocket, depending on the chosen implementation. Processing commences at900 whereupon, at step 905, an event is received either from anotherentity (device 910 making a request, a smart power socket making arequest if a smart power switch is handling request)s, or a timer eventpreviously set by the smart power switch or smart power socket. Adecision is made as to whether the event is a request from anotherentity or is a timer event (decision 925). If the event is a request,then decision 925 branches to “request” branch whereupon, at step 930, atimed event, such as a power off time setting, a power on time setting,or the like, is added to timer events queue 940. Data that may beretained in the timer events queue could include the smart power socketidentifier (if the timer events are being handled by a smart powerswitch), the time of the event, and the event that is to occur (e.g.,power OFF, power ON, etc.). At step 980, the timer is set for the nextevent that is scheduled in the timer events queue and, at step 990,processing goes to sleep until either another request is received, orthe timer elapses.

When the timer elapses, timer event 920 (the next scheduled timer event)occurs and is processed starting at step 905. At decision 925, the timerevent is recognized and decision 925 branches to the “timer event”branch whereupon, at step 950 the next timer event is pulled from timerevents queue 940 and processed. A decision is made as to whether thedevice handling the timer events is a smart power switch or a smartpower socket (decision 960). If the smart power switch is handling thetimer events, then decision 960 branches to the “yes” branch whereupon,at step 970, the timer event data is sent through the power lines fromthe smart power switch in a packet that includes the smart power socketidentifier. The corresponding smart power socket will recognize itsidentifier in the packet and process the packet by processing therequest (e.g., switching power ON or OFF to the device connected to thepower cord that connects the smart power socket to its device. If thesmart power switch has a dedicated power line from the smart powerswitch to the smart power socket, then the smart power switch switcheselectrical power ON to the smart power socket before sending thecommands. Likewise, if the smart power socket had previously switchedpower OFF from the smart power socket to the device, the smart powersocket first switches power back ON to the device before handling therequest (e.g., requesting that the device turn ON, etc.). Returning todecision 960, if the smart power socket is handling the timer events,then decision 960 branches to the “no” branch whereupon, at step 975,the smart power socket sends the request to the device (ON, OFF, etc.).As described above, the smart power socket ensures that power is flowingthrough the power cord to the device before sending any requests overthe power cord to the device. After the timer event has been processed(either by the smart power switch or the smart power socket), processingsets the internal timer for the next event scheduled in timer eventsqueue 940 (step 980). At step 990, processing sleeps until either thetime of the next scheduled event arrives or until a request is receivedby another entity, at which point the event is processed as describedabove.

FIG. 10 is a flowchart showing steps used to configure smart powersockets, smart power strips, and devices. Processing commences at 1000whereupon a decision is made as to whether dual in-line package (DIP)switches are used to configure the device (decision 1005). If DIPswitches are used, then decision 1005 branches to the “yes” branchwhereupon, at step 1010 the user positions one or more sets of DIPswitches in order to provide this device (smart power socket, smartpower strip, etc.) a unique identifier and also to indicate one or moreareas corresponding to this device (e.g., set OFFICE_1 to 0000001,OFFICE_2 to 00000010, etc.). Configuration processing then ends at 1015.

Returning to decision 1005, if DIP switches are not being used, thendecision 1005 branches to the “no” branch whereupon the smart powersocket and/or smart power strip are configured using a configurationdevice. Configuration device processing commences at 1020 whereupon, atstep 1025, the configuration device is plugged into the smart powersocket (which may be included in a smart power strip). Smart powersocket processing commences at 1030 whereupon, at step 1035, the smartpower socket recognizes that the configuration device has been pluggedinto the smart power socket (e.g., the configuration device beingpowered and sending a unique pulse signal to the smart power socket,etc.). At step 1040, the user of the configuration device enters aunique identifier for the smart power socket or smart power strip if aunique identifier is not already encoded (hardwired) on the smart powersocket or smart power strip (such as a serial number being used as theunique identifier). At step 1045, the smart power socket (or smart powerstrip) receives and stores the unique identifier in nonvolatile memory1050. At step 1060, the user enters the first area identifier thatcorresponds to the smart power socket. Here, the area identifiers can beassigned text tags for easier reference. For example, OFFICE_1 can beset to 00000001 and OFFICE_2 can be set to 00000010 while a logicalarea, such as SECURITY can be set to 10000000. If the smart power socketbeing configured is used to power a security light in OFFICE 2, then theuser would configure the smart power socket to be in OFFICE_2(00000010). The configuration device sends this data to the smart powersocket that is being configured and, at step 1065, it receives andstores the area identifier in nonvolatile memory 1050. A decision ismade as to whether there are more area identifiers to assign to thesmart power socket (decision 1070). If there are more area identifiers,then decision 1070 branches to the “yes” branch. In the example above,the smart power socket is assigned to both OFFICE 2 and SECURITY, sodecision 1070 would branch to the “yes” branch and repeat step 1060,this time receiving the SECURITY area from the user, which at 1065 isagain received and stored by the smart power socket. This loopingcontinues until there are no more areas to assign to the smart powersocket, at which point decision 1070 branches to the “no” branchwhereupon, at step 1080, the user unplugs the configuration device fromthe smart power socket (which may be included in a smart power strip).At step 1085, the smart power socket recognizes that the configurationdevice has been unplugged and exits configuration mode. Configurationprocessing thereafter ends at 1090 and 1095 for the configuration deviceand smart power socket, respectively.

One of the preferred implementations of the invention is a clientapplication, namely, a set of instructions (program code) or otherfunctional descriptive material in a code module that may, for example,be resident in the random access memory of the computer. Until requiredby the computer, the set of instructions may be stored in anothercomputer memory, for example, in a hard disk drive, or in a removablememory such as an optical disk (for eventual use in a CD ROM) or floppydisk (for eventual use in a floppy disk drive). Thus, the presentinvention may be implemented as a computer program product for use in acomputer. In addition, although the various methods described areconveniently implemented in a general purpose computer selectivelyactivated or reconfigured by software, one of ordinary skill in the artwould also recognize that such methods may be carried out in hardware,in firmware, or in more specialized apparatus constructed to perform therequired method steps. Functional descriptive material is informationthat imparts functionality to a machine. Functional descriptive materialincludes, but is not limited to, computer programs, instructions, rules,facts, definitions of computable functions, objects, and datastructures.

While particular embodiments of the present invention have been shownand described, it will be obvious to those skilled in the art that,based upon the teachings herein, that changes and modifications may bemade without departing from this invention and its broader aspects.Therefore, the appended claims are to encompass within their scope allsuch changes and modifications as are within the true spirit and scopeof this invention. Furthermore, it is to be understood that theinvention is solely defined by the appended claims. It will beunderstood by those with skill in the art that if a specific number ofan introduced claim element is intended, such intent will be explicitlyrecited in the claim, and in the absence of such recitation no suchlimitation is present. For non-limiting example, as an aid tounderstanding, the following appended claims contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimelements. However, the use of such phrases should not be construed toimply that the introduction of a claim element by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim element to inventions containing only one such element,even when the same claim includes the introductory phrases “one or more”or “at least one” and indefinite articles such as “a” or “an”; the sameholds true for the use in the claims of definite articles.

1. A method comprising: receiving, at a smart power socket, a firstpower request over a power line; generating a second power request basedon the received first power request; transmitting the second powerrequest over a power cord that connects the smart power socket to adevice; receiving a power response from the device; identifying a powersetting based on the received power response, the identifying performedby a processor included in the smart power socket; and regulating powerfrom the smart power socket to the device using the identified powersetting.
 2. The method of claim 1 further comprising: when the secondpower request is transmitted to the device, setting a timer to apredetermined time amount; and retrieving the power setting from anonvolatile memory accessible from the processor in response to thepredetermined time amount elapsing before the power response is receivedfrom the device, the non-response indicating that the device is a legacydevice.
 3. The method of claim 1 wherein the first power requestincludes a requested area identifier, the method further comprising:retrieving, at the smart power socket, one or more socket areaidentifiers from a memory, wherein each of the socket area identifierscorrespond to the smart power socket; and comparing, at the smart powersocket, the requested area identifier with the one or more retrievedsocket area identifiers, wherein the transmission of the second requestis performed in response to at least one of the retrieved socket areaidentifiers matching the requested area identifier.
 4. The method ofclaim 3 further comprising: prior to receiving the first power request:attaching a configuration device into the smart power socket;recognizing, by the smart power socket, the attachment of theconfiguration device; in response to the recognizing: receiving a uniquesocket identifier from the configuration device; receiving the one ormore socket area identifiers from the configuration device; and storingthe unique socket identifier and the one or more socket area identifiersin the memory.
 5. The method of claim 1 wherein the power response is adelayed power off response, and wherein the method further comprises:retrieving a power off time setting from the received power response;setting a timer in a memory of the smart power socket corresponding tothe power off time setting; identifying a completion of the timer; andin response to the completion of the timer, switching power off from thesmart power socket to the device so that electricity no longer flowsthrough the power cord.
 6. The method of claim 1 wherein the powerresponse includes a future power on request, and wherein the methodfurther comprises: retrieving a future power on time setting from thereceived power response; setting a timer in a memory of the smart powersocket corresponding to the future power on time setting; identifying acompletion of the timer; and in response to the completion of the timer,switching power on from the smart power socket to the device so thatelectricity flows through the power cord.
 7. The method of claim 1wherein the first power request is received from a smart power switch,the method further comprising: identifying that the device powered bythe smart power socket no longer requires electrical power; sending asecond power response from the smart power socket to the smart powerswitch, wherein the smart power response indicates that the smart powersocket no longer requires power; and switching power off from the smartpower switch to the smart power socket.
 8. A power system comprising: apower line that provides power to a smart power socket and connects thesmart power socket to one or more smart switches; a first receiver thatreceives a first power request over the power line from one of the smartswitches; a processor included in the smart power socket apparatus thatgenerates a second power request based on the received first powerrequest; a transmitter that sends the second power request over a powercord that connects the smart power socket to a device; a first receiverthat receives a power response from the device; a power settingidentified by the processor, wherein the power setting is based on thereceived power response; and a power regulator that regulates power fromthe smart power socket to the device using the identified power setting.9. The system of claim 8 further comprising: a timer accessible by theprocessor; when the second power request is transmitted to the device,setting the timer to a predetermined time amount; and a nonvolatilememory accessible from the processor from which the power setting fromin response to the predetermined time amount elapsing before the powerresponse is received from the device, the non-response indicating thatthe device is a legacy device.
 10. The system of claim 1 wherein thefirst power request includes a requested area identifier, the systemfurther comprising: a memory accessible by the processor from which oneor more socket area identifiers are retrieved, wherein each of thesocket area identifiers correspond to the smart power socket; and acomparator executed by the processor that compares the requested areaidentifier with the one or more retrieved socket area identifiers,wherein the transmission of the second request is performed in responseto at least one of the retrieved socket area identifiers matching therequested area identifier.
 11. The system of claim 10 furthercomprising: prior to receiving the first power request: a configurationdevice attached to the smart power socket; in response to theattachment: a unique socket identifier and one or more socket areaidentifiers received from the configuration device and stored in thememory.
 12. The system of claim 8 wherein the power response is adelayed power off response, and wherein the system further comprises: apower off time setting retrieved from the received power response; atimer accessible to the processor which is set to the power off timesetting; in response to the completion of the timer, a power switch thatswitches power off from the smart power socket to the device so thatelectricity no longer flows through the power cord.
 13. The system ofclaim 8 wherein the power response includes a future power on request,and wherein the system further comprises: a future power on time settingretrieved by the processor from the received power response; a timerstored in a memory of the smart power socket corresponding to the futurepower on time setting; and in response to the completion of the timer, apower switch that switches on from the smart power socket to the deviceso that electricity flows through the power cord.
 14. The system ofclaim 8 wherein the first power request is received from a smart powerswitch, the system further comprising: a smart power switch thatprovides power to the smart power socket; a routine that identifies thatthe device powered by the smart power socket no longer requireselectrical power; and a second power response which is sent from thesmart power socket to the smart power switch, wherein the smart powerresponse indicates that the smart power socket no longer requires power,wherein the smart power switch switches off power to the smart powersocket.
 15. A method comprising: receiving, at a device, a power downrequest over a power line, the power down request received from a smartpower socket; determining whether power is still needed at the device toperform one or more device operations; and returning a response to thesmart power socket, wherein the response indicates whether power isstill needed at the device.
 16. The method of claim 15 furthercomprising: setting the response to POWER_OFF in response to thedetermination being that power is no longer needed at the device. 17.The method of claim 15 further comprising: setting the response toSTANDBY in response to the determination being that power is currentlyneeded at the device.
 18. The method of claim 15 further comprising:identifying a future wakeup time when power is needed at the device; andsending the identified future wakeup time to the smart power socket. 19.An electrical power consuming device comprising: a power cord thatprovides power to the device from a smart power socket, whereinelectricity is provided to the device from the smart power socket; areceiver that receives a power down request over the power cord from thesmart power socket; a processor included in the device that determineswhether power is still needed at the device to perform one or moredevice operations and generates a response indicating whether power isstill needed at the device; and a transmitter that sends the responseover the power cord to the smart power socket.
 20. The device of claim19 further comprising: the processor setting the response to POWER_OFFin response to the determination being that power is no longer needed atthe device.
 21. The device of claim 19 further comprising: setting theresponse to STANDBY in response to the determination being that power iscurrently needed at the device.
 22. The device of claim 19 furthercomprising: a memory accessible by the processor; retrieval, by theprocessor, a future wakeup time from the memory; transmission of theidentified future wakeup time to the smart power socket.
 23. A smartpower system comprising: a smart power strip comprising: one or moresmart power sockets; a standard wall plug that plugs the smart powerstrip into a socket providing power; a processor; a memory; one or moretransmitters, one or more receivers; and one or more power regulatorthat regulates electrical power from the socket to each of the one ormore smart power sockets.
 24. The smart power system of claim 23 furthercomprising: a smart switch that provides power to the socket; a poweroff signal sent from the smart power strip through the socket to thesmart power switch in response to the identification that none of theplurality of smart power sockets require electrical power; and a poweroff setting activated from the smart power switch that switches poweroff to the socket in response to receiving the power off signal.
 25. Thesystem of claim 23 further comprising: one or more system clocksaccessible by the processor; timed power settings stored in the memory;and a comparator that compares the timed power settings to the systemclocks, wherein the power regulators switch power to one or more devicesplugged into the one or more smart power sockets based on thecomparison.